/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//		File Name		:		CPlayer.h
//
//		Author			:		Vindicated Games
//
//		Purpose			:		Encapsulate all functionality in the Player class
//
//		Dates			:		Written( Feb 15, 2011 ) by Vindicated Games		LastUpdate( Feb 15, 2011  ) by Vindicated Games 
//	
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#ifndef PLAYER_H_
#define PLAYER_H_

#include "CBaseObject.h"
#include <windows.h>
#include <stdio.h>
#include <vector>

using std::vector;

class CPlayer : public CBaseObject
{

private:

	float m_nHealth;
	float m_nMaxHealth;
	int m_nCash;
	RECT CastleRect;

	int currentImageID;
	int castleLevel;

	float archerTimer;

public:

	CPlayer();
	~CPlayer();
	void Render();
	bool Input();
	void Update( float fElapsedTime);
	
	//void PickUp(Item* Item);
	//void Drop();
	//void Throw(IBaseInterface* ThrownObj);

	void UpgradeCastle();

	///////////////////////////////////////////////////////
	///////////////////////////////////////////////////////
	//Accessors & Mutators
	///////////////////////////////////////////////////////
	///////////////////////////////////////////////////////
	// Accessors
	///////////////////////////////////////////////////////
	int GetCash()			{ return m_nCash; }

	int GetCastleLevel()	{return castleLevel;}
	//void SetCastleLevel(

	int GetCurrentID()		{return currentImageID;}
	float GetHealth()		{return m_nHealth;}
	float GetMaxHealth()	{return m_nMaxHealth;}

	///////////////////////////////////////////////////////
	///////////////////////////////////////////////////////
	//	Mutators
	///////////////////////////////////////////////////////
	void SetCash( int newCash )			{ m_nCash = newCash; }
	void SetMaxHealth(float NewMaxHealth) {m_nHealth = NewMaxHealth;}
	void ResetPlayer();

	bool CheckCollision( IBaseInterface* pBase );
	RECT GetHealthRect();
};
#endif